package com.share.user.oauth;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * 第三方用户信息统一模型
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class OAuthUserInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private String uuid;        // 第三方平台唯一ID
    private String username;    // 用户名
    private String nickname;    // 昵称
    private String avatar;      // 头像URL
    private String email;       // 邮箱
    private String gender;      // 性别
    private String location;    // 地址
    private String source;      // 来源平台
    private String accessToken; // 访问令牌
    private String openId;      // 开放ID(微信/QQ等平台特有)
}